package logger

import (
	"github.com/sirupsen/logrus"
	"io"
	"os"
)

//var logs logrus.Logger
//var once = sync.Once{}

//设置日志为json格式

/*func WriteLog(msg string){
	msg = "["+time.Now().Format("2006-01-02 15:04:05")+"]"+"\r\n"+msg+"\r\n"
	path := "./"
	fileName := utils.TimeToStr(0,"Ymd")
	suffix := "log"
	utils.Write(fileName,suffix,msg,path)
}*/

func Init() {
	//once.Do(func() {
	//logs = *logrus.New()
	logrus.SetFormatter(&logrus.JSONFormatter{})
	//logrus.SetFormatter(&logrus.TextFormatter{})
	logrus.SetOutput(os.Stdout)
	//设置output,默认为stderr,可以为任何io.Writer，比如文件*os.File
	file, err := os.OpenFile("./logs/access.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
	writers := []io.Writer{
		file,
		os.Stdout,
	}
	//同时写文件和屏幕
	fileAndStdoutWriter := io.MultiWriter(writers...)
	if err == nil {
		logrus.SetOutput(fileAndStdoutWriter)
	} else {
		logrus.Info("failed to log to file.")
	}
	//设置最低loglevel
	logrus.SetLevel(logrus.InfoLevel)

}

/*
Panic()		//系统级错误
Fatal()		//致命错误
Error()		//用户级错误
Warn()		//用户级警告
Info()		//用户级信息
Debug()		//调试错误*/
//func Panic(err ...interface{}){
//	logs.Panic(err)
//}
//func Fatal(err ...interface{}){
//	logs.Fatal(err)
//}
//func Error(err ...interface{}){
//	logs.Error(err)
//}
//func Warn(err ...interface{}){
//	logs.Warn(err)
//}
//func Info(err ...interface{}){
//	logs.Info(err)
//}
//func Debug(err ...interface{}){
//	logs.Debug(err)
//}
//
